Skip to content

Conversation

@not-napoleon
Copy link
Member

@not-napoleon not-napoleon commented Jan 27, 2025

This PR addresses issues around aggregations cancellation, mentioned in #108701 and other places. In brief, during aggregations collection time, we respect cancellation via the mechanisms in the searcher to poison cancelled queries. But once the aggregation finishes collection, there is no further need to interact with the searcher, so we cannot rely on that for cancellation checking. In particular, deeply nested aggregations can spend a long time constructing the results tree.

Checking for cancellation is a trade off, as the check itself is somewhat expensive (it involves a volatile read), so we want to balance checking often enough that cancelled queries aren't taking up resources for a long time, but not so frequently that it slows down most aggregation queries. Our first attempt to this is to check once when we go to build sub-aggregations, as the worst cases for this that we've seen involve needing to build deep sub-aggregation trees. Checking at sub-aggregation construction time also provides a conveniently centralized method call to add the check to.

I'm opening this PR as a draft while we work on testing for this change, to have a place for discussion and to add testing. There are three major pieces of testing we need to do:

  • Ensure the cancellation actually triggers for queries that look like the ones we've had a problem with (@nik9000 has a prototype for this test)
  • Ensure we correctly release memory in the circuit breakers when we cancel like this (@not-napoleon is working on this)
  • Ensure the performance implications of this are acceptable (@nik9000 will be working on this)

Nik and I will be adding tests to this PR over the next few days as we work on it.

Fixed #108701

@elasticsearchmachine
Copy link
Collaborator

Hi @not-napoleon, I've created a changelog YAML for you.

@benwtrent
Copy link
Member

@not-napoleon I think we should also update the ExitableTermsEnum class so that things that aggs use for ordinals can check for cancelation while they are being built. It doesn't make sense to me why we would only check on next but never on seekExact

@nik9000
Copy link
Member

nik9000 commented Jan 28, 2025

I have performance data!

|  50th percentile service time | 284.743 | 288.222 | ms | 101.2%
|  90th percentile service time | 289.985 | 300.461 | ms | 103.6%
|  99th percentile service time | 305.474 | 319.706 | ms | 104.7%
| 100th percentile service time | 313.316 | 342.884 | ms | 109.4%
|                    error rate |   0     |   0     |  % |

These come from esbench and it's been a while since I did a deep dive into how we get all these, but it sure looks like the overhead is seems to be in the ballpark of a couple of % for this super deep agg - the worst case.

I'm rerunning rally against to get the results for all aggs. I expect we'll only see a performance hit on the super deep aggs.

@nik9000
Copy link
Member

nik9000 commented Jan 28, 2025

Here's the rally track, a worst case scenario for this fix: elastic/rally-tracks#733

@nik9000
Copy link
Member

nik9000 commented Jan 29, 2025

Here's some more timing information. This one the "after" came in faster. Which makes me think i got a machine with quieter neighbors.

|                                                         Metric |                                                       Task |           Before |            After |
|---------------------------------------------------------------:|-----------------------------------------------------------:|-----------------:|-----------------:|-------:|
|                     Cumulative indexing time of primary shards |                                                            |     19.4819      |     18.1652      |    min |
|             Min cumulative indexing time across primary shards |                                                            |     19.4819      |     18.1652      |    min |
|          Median cumulative indexing time across primary shards |                                                            |     19.4819      |     18.1652      |    min |
|             Max cumulative indexing time across primary shards |                                                            |     19.4819      |     18.1652      |    min |
|            Cumulative indexing throttle time of primary shards |                                                            |      0           |      0           |    min |
|    Min cumulative indexing throttle time across primary shards |                                                            |      0           |      0           |    min |
| Median cumulative indexing throttle time across primary shards |                                                            |      0           |      0           |    min |
|    Max cumulative indexing throttle time across primary shards |                                                            |      0           |      0           |    min |
|                        Cumulative merge time of primary shards |                                                            |      6.0385      |      5.27355     |    min |
|                       Cumulative merge count of primary shards |                                                            |     14           |     14           |        |
|                Min cumulative merge time across primary shards |                                                            |      6.0385      |      5.27355     |    min |
|             Median cumulative merge time across primary shards |                                                            |      6.0385      |      5.27355     |    min |
|                Max cumulative merge time across primary shards |                                                            |      6.0385      |      5.27355     |    min |
|               Cumulative merge throttle time of primary shards |                                                            |      3.63927     |      2.88163     |    min |
|       Min cumulative merge throttle time across primary shards |                                                            |      3.63927     |      2.88163     |    min |
|    Median cumulative merge throttle time across primary shards |                                                            |      3.63927     |      2.88163     |    min |
|       Max cumulative merge throttle time across primary shards |                                                            |      3.63927     |      2.88163     |    min |
|                      Cumulative refresh time of primary shards |                                                            |      0.739067    |      0.384783    |    min |
|                     Cumulative refresh count of primary shards |                                                            |     24           |     24           |        |
|              Min cumulative refresh time across primary shards |                                                            |      0.739067    |      0.384783    |    min |
|           Median cumulative refresh time across primary shards |                                                            |      0.739067    |      0.384783    |    min |
|              Max cumulative refresh time across primary shards |                                                            |      0.739067    |      0.384783    |    min |
|                        Cumulative flush time of primary shards |                                                            |      0.4065      |      0.422533    |    min |
|                       Cumulative flush count of primary shards |                                                            |      4           |      4           |        |
|                Min cumulative flush time across primary shards |                                                            |      0.4065      |      0.422533    |    min |
|             Median cumulative flush time across primary shards |                                                            |      0.4065      |      0.422533    |    min |
|                Max cumulative flush time across primary shards |                                                            |      0.4065      |      0.422533    |    min |
|                                        Total Young Gen GC time |                                                            |      1.723       |      1.502       |      s |
|                                       Total Young Gen GC count |                                                            |     60           |     58           |        |
|                                          Total Old Gen GC time |                                                            |      0           |      0           |      s |
|                                         Total Old Gen GC count |                                                            |      0           |      0           |        |
|                                                   Dataset size |                                                            |      5.07352     |      5.06536     |     GB |
|                                                     Store size |                                                            |      5.07352     |      5.06536     |     GB |
|                                                  Translog size |                                                            |      5.12227e-08 |      5.12227e-08 |     GB |
|                                         Heap used for segments |                                                            |      0           |      0           |     MB |
|                                       Heap used for doc values |                                                            |      0           |      0           |     MB |
|                                            Heap used for terms |                                                            |      0           |      0           |     MB |
|                                            Heap used for norms |                                                            |      0           |      0           |     MB |
|                                           Heap used for points |                                                            |      0           |      0           |     MB |
|                                    Heap used for stored fields |                                                            |      0           |      0           |     MB |
|                                                  Segment count |                                                            |     26           |     26           |        |
|                                    Total Ingest Pipeline count |                                                            |      0           |      0           |        |
|                                     Total Ingest Pipeline time |                                                            |      0           |      0           |      s |
|                                   Total Ingest Pipeline failed |                                                            |      0           |      0           |        |
|                                                 Min Throughput |                                                      index | 169303           | 185694           | docs/s |
|                                                Mean Throughput |                                                      index | 175721           | 192110           | docs/s |
|                                              Median Throughput |                                                      index | 175647           | 191746           | docs/s |
|                                                 Max Throughput |                                                      index | 181694           | 199007           | docs/s |
|                                        50th percentile latency |                                                      index |    181.875       |    167.113       |     ms |
|                                        90th percentile latency |                                                      index |    220.059       |    202.614       |     ms |
|                                        99th percentile latency |                                                      index |    345.379       |    355.594       |     ms |
|                                      99.9th percentile latency |                                                      index |   8308.33        |   7787.02        |     ms |
|                                       100th percentile latency |                                                      index |   9125.07        |   9510.65        |     ms |
|                                   50th percentile service time |                                                      index |    181.871       |    167.156       |     ms |
|                                   90th percentile service time |                                                      index |    220.136       |    202.433       |     ms |
|                                   99th percentile service time |                                                      index |    347.1         |    352.982       |     ms |
|                                 99.9th percentile service time |                                                      index |   8308.33        |   7787.02        |     ms |
|                                  100th percentile service time |                                                      index |   9125.07        |   9510.65        |     ms |
|                                                     error rate |                                                      index |      0           |      0           |      % |
|                                       100th percentile latency |                                        refresh-after-index |  10167.1         |  10662.2         |     ms |
|                                  100th percentile service time |                                        refresh-after-index |  10167.1         |  10662.2         |     ms |
|                                                     error rate |                                        refresh-after-index |    100           |    100           |      % |
|                                                 Min Throughput |                                      range_field_big_range |      5.96        |      5.97        |  ops/s |
|                                                Mean Throughput |                                      range_field_big_range |      5.98        |      5.99        |  ops/s |
|                                              Median Throughput |                                      range_field_big_range |      5.99        |      5.99        |  ops/s |
|                                                 Max Throughput |                                      range_field_big_range |      5.99        |      5.99        |  ops/s |
|                                        50th percentile latency |                                      range_field_big_range |     21.5099      |     19.856       |     ms |
|                                        90th percentile latency |                                      range_field_big_range |     27.1442      |     23.3625      |     ms |
|                                        99th percentile latency |                                      range_field_big_range |     28.6595      |     29.0656      |     ms |
|                                       100th percentile latency |                                      range_field_big_range |     56.228       |     52.0156      |     ms |
|                                   50th percentile service time |                                      range_field_big_range |     20.1718      |     18.4899      |     ms |
|                                   90th percentile service time |                                      range_field_big_range |     25.8276      |     21.7987      |     ms |
|                                   99th percentile service time |                                      range_field_big_range |     27.2132      |     27.5821      |     ms |
|                                  100th percentile service time |                                      range_field_big_range |     55.1541      |     50.531       |     ms |
|                                                     error rate |                                      range_field_big_range |      0           |      0           |      % |
|                                                 Min Throughput |                                    range_field_small_range |     10.01        |     10.01        |  ops/s |
|                                                Mean Throughput |                                    range_field_small_range |     10.03        |     10.02        |  ops/s |
|                                              Median Throughput |                                    range_field_small_range |     10.02        |     10.02        |  ops/s |
|                                                 Max Throughput |                                    range_field_small_range |     10.08        |     10.07        |  ops/s |
|                                        50th percentile latency |                                    range_field_small_range |      9.54953     |      9.18909     |     ms |
|                                        90th percentile latency |                                    range_field_small_range |     11.2319      |      9.89105     |     ms |
|                                        99th percentile latency |                                    range_field_small_range |     12.6651      |     10.7313      |     ms |
|                                       100th percentile latency |                                    range_field_small_range |     15.0319      |     13.4997      |     ms |
|                                   50th percentile service time |                                    range_field_small_range |      8.35746     |      8.01887     |     ms |
|                                   90th percentile service time |                                    range_field_small_range |     10.2604      |      8.55825     |     ms |
|                                   99th percentile service time |                                    range_field_small_range |     11.2689      |      9.62232     |     ms |
|                                  100th percentile service time |                                    range_field_small_range |     13.5775      |     12.3933      |     ms |
|                                                     error rate |                                    range_field_small_range |      0           |      0           |      % |
|                                                 Min Throughput |         range_field_conjunction_big_range_small_term_query |     10           |     10.01        |  ops/s |
|                                                Mean Throughput |         range_field_conjunction_big_range_small_term_query |     10.01        |     10.01        |  ops/s |
|                                              Median Throughput |         range_field_conjunction_big_range_small_term_query |     10.01        |     10.01        |  ops/s |
|                                                 Max Throughput |         range_field_conjunction_big_range_small_term_query |     10.03        |     10.03        |  ops/s |
|                                        50th percentile latency |         range_field_conjunction_big_range_small_term_query |      6.48099     |      5.33631     |     ms |
|                                        90th percentile latency |         range_field_conjunction_big_range_small_term_query |      6.98275     |      6.04542     |     ms |
|                                        99th percentile latency |         range_field_conjunction_big_range_small_term_query |      7.73006     |      6.79893     |     ms |
|                                       100th percentile latency |         range_field_conjunction_big_range_small_term_query |      8.75934     |      9.10154     |     ms |
|                                   50th percentile service time |         range_field_conjunction_big_range_small_term_query |      5.20016     |      4.07248     |     ms |
|                                   90th percentile service time |         range_field_conjunction_big_range_small_term_query |      5.58169     |      4.75102     |     ms |
|                                   99th percentile service time |         range_field_conjunction_big_range_small_term_query |      6.19523     |      5.30105     |     ms |
|                                  100th percentile service time |         range_field_conjunction_big_range_small_term_query |      7.28096     |      8.30936     |     ms |
|                                                     error rate |         range_field_conjunction_big_range_small_term_query |      0           |      0           |      % |
|                                                 Min Throughput |       range_field_conjunction_small_range_small_term_query |     10.01        |     10.01        |  ops/s |
|                                                Mean Throughput |       range_field_conjunction_small_range_small_term_query |     10.02        |     10.02        |  ops/s |
|                                              Median Throughput |       range_field_conjunction_small_range_small_term_query |     10.02        |     10.02        |  ops/s |
|                                                 Max Throughput |       range_field_conjunction_small_range_small_term_query |     10.06        |     10.06        |  ops/s |
|                                        50th percentile latency |       range_field_conjunction_small_range_small_term_query |     10.5156      |     10.111       |     ms |
|                                        90th percentile latency |       range_field_conjunction_small_range_small_term_query |     12.4881      |     10.9631      |     ms |
|                                        99th percentile latency |       range_field_conjunction_small_range_small_term_query |     13.692       |     12.2094      |     ms |
|                                       100th percentile latency |       range_field_conjunction_small_range_small_term_query |     21.657       |     13.9143      |     ms |
|                                   50th percentile service time |       range_field_conjunction_small_range_small_term_query |      8.96619     |      8.83391     |     ms |
|                                   90th percentile service time |       range_field_conjunction_small_range_small_term_query |     11.1377      |      9.66238     |     ms |
|                                   99th percentile service time |       range_field_conjunction_small_range_small_term_query |     12.1855      |     10.5629      |     ms |
|                                  100th percentile service time |       range_field_conjunction_small_range_small_term_query |     19.9528      |     12.3953      |     ms |
|                                                     error rate |       range_field_conjunction_small_range_small_term_query |      0           |      0           |      % |
|                                                 Min Throughput |         range_field_conjunction_small_range_big_term_query |      4           |      4           |  ops/s |
|                                                Mean Throughput |         range_field_conjunction_small_range_big_term_query |      4.01        |      4.01        |  ops/s |
|                                              Median Throughput |         range_field_conjunction_small_range_big_term_query |      4.01        |      4.01        |  ops/s |
|                                                 Max Throughput |         range_field_conjunction_small_range_big_term_query |      4.02        |      4.02        |  ops/s |
|                                        50th percentile latency |         range_field_conjunction_small_range_big_term_query |     23.9606      |     26.3566      |     ms |
|                                        90th percentile latency |         range_field_conjunction_small_range_big_term_query |     32.4755      |     30.4245      |     ms |
|                                        99th percentile latency |         range_field_conjunction_small_range_big_term_query |     33.3564      |     41.9944      |     ms |
|                                       100th percentile latency |         range_field_conjunction_small_range_big_term_query |     38.3036      |     42.6907      |     ms |
|                                   50th percentile service time |         range_field_conjunction_small_range_big_term_query |     22.4896      |     24.9542      |     ms |
|                                   90th percentile service time |         range_field_conjunction_small_range_big_term_query |     31.152       |     29.0919      |     ms |
|                                   99th percentile service time |         range_field_conjunction_small_range_big_term_query |     31.7974      |     40.5726      |     ms |
|                                  100th percentile service time |         range_field_conjunction_small_range_big_term_query |     36.9862      |     41.0871      |     ms |
|                                                     error rate |         range_field_conjunction_small_range_big_term_query |      0           |      0           |      % |
|                                                 Min Throughput |           range_field_conjunction_big_range_big_term_query |      1           |      1           |  ops/s |
|                                                Mean Throughput |           range_field_conjunction_big_range_big_term_query |      1           |      1           |  ops/s |
|                                              Median Throughput |           range_field_conjunction_big_range_big_term_query |      1           |      1           |  ops/s |
|                                                 Max Throughput |           range_field_conjunction_big_range_big_term_query |      1.01        |      1.01        |  ops/s |
|                                        50th percentile latency |           range_field_conjunction_big_range_big_term_query |     79.0647      |     97.6063      |     ms |
|                                        90th percentile latency |           range_field_conjunction_big_range_big_term_query |     82.8656      |     99.9212      |     ms |
|                                        99th percentile latency |           range_field_conjunction_big_range_big_term_query |    100.388       |    117.385       |     ms |
|                                       100th percentile latency |           range_field_conjunction_big_range_big_term_query |    171.618       |    169.332       |     ms |
|                                   50th percentile service time |           range_field_conjunction_big_range_big_term_query |     76.9006      |     95.4581      |     ms |
|                                   90th percentile service time |           range_field_conjunction_big_range_big_term_query |     80.6544      |     97.9016      |     ms |
|                                   99th percentile service time |           range_field_conjunction_big_range_big_term_query |     98.3399      |    114.431       |     ms |
|                                  100th percentile service time |           range_field_conjunction_big_range_big_term_query |    169.245       |    167.309       |     ms |
|                                                     error rate |           range_field_conjunction_big_range_big_term_query |      0           |      0           |      % |
|                                                 Min Throughput |       range_field_disjunction_small_range_small_term_query |     10.01        |     10.01        |  ops/s |
|                                                Mean Throughput |       range_field_disjunction_small_range_small_term_query |     10.02        |     10.02        |  ops/s |
|                                              Median Throughput |       range_field_disjunction_small_range_small_term_query |     10.02        |     10.02        |  ops/s |
|                                                 Max Throughput |       range_field_disjunction_small_range_small_term_query |     10.07        |     10.06        |  ops/s |
|                                        50th percentile latency |       range_field_disjunction_small_range_small_term_query |      9.28232     |     11.2739      |     ms |
|                                        90th percentile latency |       range_field_disjunction_small_range_small_term_query |     10.5746      |     11.8308      |     ms |
|                                        99th percentile latency |       range_field_disjunction_small_range_small_term_query |     12.0583      |     12.8655      |     ms |
|                                       100th percentile latency |       range_field_disjunction_small_range_small_term_query |     12.394       |     16.4174      |     ms |
|                                   50th percentile service time |       range_field_disjunction_small_range_small_term_query |      8.0967      |     10.0143      |     ms |
|                                   90th percentile service time |       range_field_disjunction_small_range_small_term_query |      9.44963     |     10.3748      |     ms |
|                                   99th percentile service time |       range_field_disjunction_small_range_small_term_query |     10.7095      |     11.6644      |     ms |
|                                  100th percentile service time |       range_field_disjunction_small_range_small_term_query |     11.0699      |     15.4859      |     ms |
|                                                     error rate |       range_field_disjunction_small_range_small_term_query |      0           |      0           |      % |
|                                                 Min Throughput |         range_field_disjunction_big_range_small_term_query |      5.01        |      5.01        |  ops/s |
|                                                Mean Throughput |         range_field_disjunction_big_range_small_term_query |      5.02        |      5.01        |  ops/s |
|                                              Median Throughput |         range_field_disjunction_big_range_small_term_query |      5.01        |      5.01        |  ops/s |
|                                                 Max Throughput |         range_field_disjunction_big_range_small_term_query |      5.04        |      5.04        |  ops/s |
|                                        50th percentile latency |         range_field_disjunction_big_range_small_term_query |     19.5972      |     21.8382      |     ms |
|                                        90th percentile latency |         range_field_disjunction_big_range_small_term_query |     23.6836      |     29.8481      |     ms |
|                                        99th percentile latency |         range_field_disjunction_big_range_small_term_query |     26.5297      |     32.1125      |     ms |
|                                       100th percentile latency |         range_field_disjunction_big_range_small_term_query |     30.3038      |     36.0582      |     ms |
|                                   50th percentile service time |         range_field_disjunction_big_range_small_term_query |     18.1578      |     20.4773      |     ms |
|                                   90th percentile service time |         range_field_disjunction_big_range_small_term_query |     22.1251      |     28.5402      |     ms |
|                                   99th percentile service time |         range_field_disjunction_big_range_small_term_query |     24.8927      |     30.5973      |     ms |
|                                  100th percentile service time |         range_field_disjunction_big_range_small_term_query |     28.7712      |     34.6153      |     ms |
|                                                     error rate |         range_field_disjunction_big_range_small_term_query |      0           |      0           |      % |
|                                                 Min Throughput |                                              keyword-terms |      1.15        |      1.1         |  ops/s |
|                                                Mean Throughput |                                              keyword-terms |      1.21        |      1.18        |  ops/s |
|                                              Median Throughput |                                              keyword-terms |      1.22        |      1.19        |  ops/s |
|                                                 Max Throughput |                                              keyword-terms |      1.23        |      1.21        |  ops/s |
|                                        50th percentile latency |                                              keyword-terms |    799.533       |    803.475       |     ms |
|                                        90th percentile latency |                                              keyword-terms |    807.107       |    816.735       |     ms |
|                                       100th percentile latency |                                              keyword-terms |    819.418       |    841.062       |     ms |
|                                   50th percentile service time |                                              keyword-terms |    799.533       |    803.475       |     ms |
|                                   90th percentile service time |                                              keyword-terms |    807.107       |    816.735       |     ms |
|                                  100th percentile service time |                                              keyword-terms |    819.418       |    841.062       |     ms |
|                                                     error rate |                                              keyword-terms |      0           |      0           |      % |
|                                                 Min Throughput |                              keyword-terms-low-cardinality |     42.36        |     35.7         |  ops/s |
|                                                Mean Throughput |                              keyword-terms-low-cardinality |     42.36        |     35.7         |  ops/s |
|                                              Median Throughput |                              keyword-terms-low-cardinality |     42.36        |     35.7         |  ops/s |
|                                                 Max Throughput |                              keyword-terms-low-cardinality |     42.36        |     35.7         |  ops/s |
|                                        50th percentile latency |                              keyword-terms-low-cardinality |     18.2573      |     21.3083      |     ms |
|                                        90th percentile latency |                              keyword-terms-low-cardinality |     23.8703      |     23.7964      |     ms |
|                                       100th percentile latency |                              keyword-terms-low-cardinality |     26.27        |     25.9389      |     ms |
|                                   50th percentile service time |                              keyword-terms-low-cardinality |     18.2573      |     21.3083      |     ms |
|                                   90th percentile service time |                              keyword-terms-low-cardinality |     23.8703      |     23.7964      |     ms |
|                                  100th percentile service time |                              keyword-terms-low-cardinality |     26.27        |     25.9389      |     ms |
|                                                     error rate |                              keyword-terms-low-cardinality |      0           |      0           |      % |
|                                                 Min Throughput |                                          keyword-terms-min |      0.51        |      0.52        |  ops/s |
|                                                Mean Throughput |                                          keyword-terms-min |      0.51        |      0.52        |  ops/s |
|                                              Median Throughput |                                          keyword-terms-min |      0.51        |      0.53        |  ops/s |
|                                                 Max Throughput |                                          keyword-terms-min |      0.51        |      0.53        |  ops/s |
|                                        50th percentile latency |                                          keyword-terms-min |   1935.22        |   1884.63        |     ms |
|                                        90th percentile latency |                                          keyword-terms-min |   1967.02        |   1917.17        |     ms |
|                                       100th percentile latency |                                          keyword-terms-min |   2006.54        |   1943.67        |     ms |
|                                   50th percentile service time |                                          keyword-terms-min |   1935.22        |   1884.63        |     ms |
|                                   90th percentile service time |                                          keyword-terms-min |   1967.02        |   1917.17        |     ms |
|                                  100th percentile service time |                                          keyword-terms-min |   2006.54        |   1943.67        |     ms |
|                                                     error rate |                                          keyword-terms-min |      0           |      0           |      % |
|                                                 Min Throughput |                          keyword-terms-low-cardinality-min |      2.46        |      2.6         |  ops/s |
|                                                Mean Throughput |                          keyword-terms-low-cardinality-min |      2.5         |      2.65        |  ops/s |
|                                              Median Throughput |                          keyword-terms-low-cardinality-min |      2.51        |      2.66        |  ops/s |
|                                                 Max Throughput |                          keyword-terms-low-cardinality-min |      2.53        |      2.66        |  ops/s |
|                                        50th percentile latency |                          keyword-terms-low-cardinality-min |    390.435       |    370.798       |     ms |
|                                        90th percentile latency |                          keyword-terms-low-cardinality-min |    397.232       |    380.831       |     ms |
|                                       100th percentile latency |                          keyword-terms-low-cardinality-min |    422.005       |    392.218       |     ms |
|                                   50th percentile service time |                          keyword-terms-low-cardinality-min |    390.435       |    370.798       |     ms |
|                                   90th percentile service time |                          keyword-terms-low-cardinality-min |    397.232       |    380.831       |     ms |
|                                  100th percentile service time |                          keyword-terms-low-cardinality-min |    422.005       |    392.218       |     ms |
|                                                     error rate |                          keyword-terms-low-cardinality-min |      0           |      0           |      % |
|                                                 Min Throughput |                                keyword-terms-numeric-terms |      0.19        |      0.19        |  ops/s |
|                                                Mean Throughput |                                keyword-terms-numeric-terms |      0.21        |      0.21        |  ops/s |
|                                              Median Throughput |                                keyword-terms-numeric-terms |      0.21        |      0.21        |  ops/s |
|                                                 Max Throughput |                                keyword-terms-numeric-terms |      0.21        |      0.22        |  ops/s |
|                                        50th percentile latency |                                keyword-terms-numeric-terms |   4535.73        |   4402.68        |     ms |
|                                        90th percentile latency |                                keyword-terms-numeric-terms |   4644.22        |   4732.72        |     ms |
|                                       100th percentile latency |                                keyword-terms-numeric-terms |   4743.9         |   4840.94        |     ms |
|                                   50th percentile service time |                                keyword-terms-numeric-terms |   4535.73        |   4402.68        |     ms |
|                                   90th percentile service time |                                keyword-terms-numeric-terms |   4644.22        |   4732.72        |     ms |
|                                  100th percentile service time |                                keyword-terms-numeric-terms |   4743.9         |   4840.94        |     ms |
|                                                     error rate |                                keyword-terms-numeric-terms |      0           |      0           |      % |
|                                                 Min Throughput |                                numeric-terms-numeric-terms |      0.59        |      0.57        |  ops/s |
|                                                Mean Throughput |                                numeric-terms-numeric-terms |      0.6         |      0.57        |  ops/s |
|                                              Median Throughput |                                numeric-terms-numeric-terms |      0.6         |      0.57        |  ops/s |
|                                                 Max Throughput |                                numeric-terms-numeric-terms |      0.6         |      0.58        |  ops/s |
|                                        50th percentile latency |                                numeric-terms-numeric-terms |   1648.45        |   1727.23        |     ms |
|                                        90th percentile latency |                                numeric-terms-numeric-terms |   1660.34        |   1760.67        |     ms |
|                                       100th percentile latency |                                numeric-terms-numeric-terms |   1676.54        |   1794.17        |     ms |
|                                   50th percentile service time |                                numeric-terms-numeric-terms |   1648.45        |   1727.23        |     ms |
|                                   90th percentile service time |                                numeric-terms-numeric-terms |   1660.34        |   1760.67        |     ms |
|                                  100th percentile service time |                                numeric-terms-numeric-terms |   1676.54        |   1794.17        |     ms |
|                                                     error rate |                                numeric-terms-numeric-terms |      0           |      0           |      % |
|                                                 Min Throughput |                                    date-histo-entire-range |    335.43        |    252.42        |  ops/s |
|                                                Mean Throughput |                                    date-histo-entire-range |    335.43        |    272.96        |  ops/s |
|                                              Median Throughput |                                    date-histo-entire-range |    335.43        |    272.96        |  ops/s |
|                                                 Max Throughput |                                    date-histo-entire-range |    335.43        |    293.5         |  ops/s |
|                                        50th percentile latency |                                    date-histo-entire-range |      2.52465     |      2.72473     |     ms |
|                                        90th percentile latency |                                    date-histo-entire-range |      2.75958     |      3.12801     |     ms |
|                                        99th percentile latency |                                    date-histo-entire-range |      2.96564     |      3.67594     |     ms |
|                                       100th percentile latency |                                    date-histo-entire-range |      3.57155     |      4.33175     |     ms |
|                                   50th percentile service time |                                    date-histo-entire-range |      2.52465     |      2.72473     |     ms |
|                                   90th percentile service time |                                    date-histo-entire-range |      2.75958     |      3.12801     |     ms |
|                                   99th percentile service time |                                    date-histo-entire-range |      2.96564     |      3.67594     |     ms |
|                                  100th percentile service time |                                    date-histo-entire-range |      3.57155     |      4.33175     |     ms |
|                                                     error rate |                                    date-histo-entire-range |      0           |      0           |      % |
|                                                 Min Throughput |                                   date-histo-numeric-terms |      0.48        |      0.37        |  ops/s |
|                                                Mean Throughput |                                   date-histo-numeric-terms |      0.49        |      0.4         |  ops/s |
|                                              Median Throughput |                                   date-histo-numeric-terms |      0.49        |      0.4         |  ops/s |
|                                                 Max Throughput |                                   date-histo-numeric-terms |      0.49        |      0.42        |  ops/s |
|                                        50th percentile latency |                                   date-histo-numeric-terms |   2050.24        |   2461.3         |     ms |
|                                        90th percentile latency |                                   date-histo-numeric-terms |   2104.25        |   2689.29        |     ms |
|                                       100th percentile latency |                                   date-histo-numeric-terms |   2164.18        |   2739.88        |     ms |
|                                   50th percentile service time |                                   date-histo-numeric-terms |   2050.24        |   2461.3         |     ms |
|                                   90th percentile service time |                                   date-histo-numeric-terms |   2104.25        |   2689.29        |     ms |
|                                  100th percentile service time |                                   date-histo-numeric-terms |   2164.18        |   2739.88        |     ms |
|                                                     error rate |                                   date-histo-numeric-terms |      0           |      0           |      % |
|                                                 Min Throughput |                     date-histo-string-terms-via-map-subset |      1.06        |      1.05        |  ops/s |
|                                                Mean Throughput |                     date-histo-string-terms-via-map-subset |      1.07        |      1.05        |  ops/s |
|                                              Median Throughput |                     date-histo-string-terms-via-map-subset |      1.07        |      1.05        |  ops/s |
|                                                 Max Throughput |                     date-histo-string-terms-via-map-subset |      1.07        |      1.06        |  ops/s |
|                                        50th percentile latency |                     date-histo-string-terms-via-map-subset |    928.472       |    941.562       |     ms |
|                                        90th percentile latency |                     date-histo-string-terms-via-map-subset |    939.601       |    953.547       |     ms |
|                                       100th percentile latency |                     date-histo-string-terms-via-map-subset |    954.582       |    963.386       |     ms |
|                                   50th percentile service time |                     date-histo-string-terms-via-map-subset |    928.472       |    941.562       |     ms |
|                                   90th percentile service time |                     date-histo-string-terms-via-map-subset |    939.601       |    953.547       |     ms |
|                                  100th percentile service time |                     date-histo-string-terms-via-map-subset |    954.582       |    963.386       |     ms |
|                                                     error rate |                     date-histo-string-terms-via-map-subset |      0           |      0           |      % |
|                                                 Min Throughput |             date-histo-string-terms-via-global-ords-subset |      3.91        |      3.9         |  ops/s |
|                                                Mean Throughput |             date-histo-string-terms-via-global-ords-subset |      4.1         |      3.94        |  ops/s |
|                                              Median Throughput |             date-histo-string-terms-via-global-ords-subset |      4.13        |      3.94        |  ops/s |
|                                                 Max Throughput |             date-histo-string-terms-via-global-ords-subset |      4.18        |      3.96        |  ops/s |
|                                        50th percentile latency |             date-histo-string-terms-via-global-ords-subset |    233.974       |    253.05        |     ms |
|                                        90th percentile latency |             date-histo-string-terms-via-global-ords-subset |    238.782       |    257.981       |     ms |
|                                       100th percentile latency |             date-histo-string-terms-via-global-ords-subset |    270.816       |    280.258       |     ms |
|                                   50th percentile service time |             date-histo-string-terms-via-global-ords-subset |    233.974       |    253.05        |     ms |
|                                   90th percentile service time |             date-histo-string-terms-via-global-ords-subset |    238.782       |    257.981       |     ms |
|                                  100th percentile service time |             date-histo-string-terms-via-global-ords-subset |    270.816       |    280.258       |     ms |
|                                                     error rate |             date-histo-string-terms-via-global-ords-subset |      0           |      0           |      % |
|                                                 Min Throughput |                    date-histo-string-terms-via-global-ords |      0.48        |      0.45        |  ops/s |
|                                                Mean Throughput |                    date-histo-string-terms-via-global-ords |      0.48        |      0.45        |  ops/s |
|                                              Median Throughput |                    date-histo-string-terms-via-global-ords |      0.48        |      0.45        |  ops/s |
|                                                 Max Throughput |                    date-histo-string-terms-via-global-ords |      0.48        |      0.46        |  ops/s |
|                                        50th percentile latency |                    date-histo-string-terms-via-global-ords |   2075.5         |   2199.98        |     ms |
|                                        90th percentile latency |                    date-histo-string-terms-via-global-ords |   2102.78        |   2227.67        |     ms |
|                                       100th percentile latency |                    date-histo-string-terms-via-global-ords |   2178.75        |   2258.01        |     ms |
|                                   50th percentile service time |                    date-histo-string-terms-via-global-ords |   2075.5         |   2199.98        |     ms |
|                                   90th percentile service time |                    date-histo-string-terms-via-global-ords |   2102.78        |   2227.67        |     ms |
|                                  100th percentile service time |                    date-histo-string-terms-via-global-ords |   2178.75        |   2258.01        |     ms |
|                                                     error rate |                    date-histo-string-terms-via-global-ords |      0           |      0           |      % |
|                                                 Min Throughput |               date-histo-string-terms-via-default-strategy |      0.48        |      0.45        |  ops/s |
|                                                Mean Throughput |               date-histo-string-terms-via-default-strategy |      0.48        |      0.45        |  ops/s |
|                                              Median Throughput |               date-histo-string-terms-via-default-strategy |      0.48        |      0.45        |  ops/s |
|                                                 Max Throughput |               date-histo-string-terms-via-default-strategy |      0.48        |      0.45        |  ops/s |
|                                        50th percentile latency |               date-histo-string-terms-via-default-strategy |   2082.28        |   2193.88        |     ms |
|                                        90th percentile latency |               date-histo-string-terms-via-default-strategy |   2118.32        |   2220.8         |     ms |
|                                       100th percentile latency |               date-histo-string-terms-via-default-strategy |   2158.16        |   2241.34        |     ms |
|                                   50th percentile service time |               date-histo-string-terms-via-default-strategy |   2082.28        |   2193.88        |     ms |
|                                   90th percentile service time |               date-histo-string-terms-via-default-strategy |   2118.32        |   2220.8         |     ms |
|                                  100th percentile service time |               date-histo-string-terms-via-default-strategy |   2158.16        |   2241.34        |     ms |
|                                                     error rate |               date-histo-string-terms-via-default-strategy |      0           |      0           |      % |
|                                                 Min Throughput |         date-histo-string-significant-terms-via-map-subset |      1.03        |      1.02        |  ops/s |
|                                                Mean Throughput |         date-histo-string-significant-terms-via-map-subset |      1.03        |      1.02        |  ops/s |
|                                              Median Throughput |         date-histo-string-significant-terms-via-map-subset |      1.03        |      1.02        |  ops/s |
|                                                 Max Throughput |         date-histo-string-significant-terms-via-map-subset |      1.03        |      1.03        |  ops/s |
|                                        50th percentile latency |         date-histo-string-significant-terms-via-map-subset |    964.046       |    971.288       |     ms |
|                                        90th percentile latency |         date-histo-string-significant-terms-via-map-subset |    975.594       |    981.853       |     ms |
|                                       100th percentile latency |         date-histo-string-significant-terms-via-map-subset |    984.126       |    985.638       |     ms |
|                                   50th percentile service time |         date-histo-string-significant-terms-via-map-subset |    964.046       |    971.288       |     ms |
|                                   90th percentile service time |         date-histo-string-significant-terms-via-map-subset |    975.594       |    981.853       |     ms |
|                                  100th percentile service time |         date-histo-string-significant-terms-via-map-subset |    984.126       |    985.638       |     ms |
|                                                     error rate |         date-histo-string-significant-terms-via-map-subset |      0           |      0           |      % |
|                                                 Min Throughput | date-histo-string-significant-terms-via-global-ords-subset |      3.65        |      3.58        |  ops/s |
|                                                Mean Throughput | date-histo-string-significant-terms-via-global-ords-subset |      3.77        |      3.66        |  ops/s |
|                                              Median Throughput | date-histo-string-significant-terms-via-global-ords-subset |      3.78        |      3.67        |  ops/s |
|                                                 Max Throughput | date-histo-string-significant-terms-via-global-ords-subset |      3.82        |      3.7         |  ops/s |
|                                        50th percentile latency | date-histo-string-significant-terms-via-global-ords-subset |    258.15        |    267.944       |     ms |
|                                        90th percentile latency | date-histo-string-significant-terms-via-global-ords-subset |    263.501       |    274.727       |     ms |
|                                       100th percentile latency | date-histo-string-significant-terms-via-global-ords-subset |    269.588       |    279.451       |     ms |
|                                   50th percentile service time | date-histo-string-significant-terms-via-global-ords-subset |    258.15        |    267.944       |     ms |
|                                   90th percentile service time | date-histo-string-significant-terms-via-global-ords-subset |    263.501       |    274.727       |     ms |
|                                  100th percentile service time | date-histo-string-significant-terms-via-global-ords-subset |    269.588       |    279.451       |     ms |
|                                                     error rate | date-histo-string-significant-terms-via-global-ords-subset |      0           |      0           |      % |
|                                                 Min Throughput |        date-histo-string-significant-terms-via-global-ords |      0.42        |      0.41        |  ops/s |
|                                                Mean Throughput |        date-histo-string-significant-terms-via-global-ords |      0.42        |      0.41        |  ops/s |
|                                              Median Throughput |        date-histo-string-significant-terms-via-global-ords |      0.42        |      0.41        |  ops/s |
|                                                 Max Throughput |        date-histo-string-significant-terms-via-global-ords |      0.42        |      0.41        |  ops/s |
|                                        50th percentile latency |        date-histo-string-significant-terms-via-global-ords |   2371.4         |   2460.9         |     ms |
|                                        90th percentile latency |        date-histo-string-significant-terms-via-global-ords |   2402.81        |   2499.28        |     ms |
|                                       100th percentile latency |        date-histo-string-significant-terms-via-global-ords |   2411.23        |   2575.81        |     ms |
|                                   50th percentile service time |        date-histo-string-significant-terms-via-global-ords |   2371.4         |   2460.9         |     ms |
|                                   90th percentile service time |        date-histo-string-significant-terms-via-global-ords |   2402.81        |   2499.28        |     ms |
|                                  100th percentile service time |        date-histo-string-significant-terms-via-global-ords |   2411.23        |   2575.81        |     ms |
|                                                     error rate |        date-histo-string-significant-terms-via-global-ords |      0           |      0           |      % |
|                                                 Min Throughput |   date-histo-string-significant-terms-via-default-strategy |      0.41        |      0.41        |  ops/s |
|                                                Mean Throughput |   date-histo-string-significant-terms-via-default-strategy |      0.42        |      0.41        |  ops/s |
|                                              Median Throughput |   date-histo-string-significant-terms-via-default-strategy |      0.41        |      0.41        |  ops/s |
|                                                 Max Throughput |   date-histo-string-significant-terms-via-default-strategy |      0.42        |      0.41        |  ops/s |
|                                        50th percentile latency |   date-histo-string-significant-terms-via-default-strategy |   2391.76        |   2453.71        |     ms |
|                                        90th percentile latency |   date-histo-string-significant-terms-via-default-strategy |   2438.59        |   2486.06        |     ms |
|                                       100th percentile latency |   date-histo-string-significant-terms-via-default-strategy |   2471.33        |   2507.84        |     ms |
|                                   50th percentile service time |   date-histo-string-significant-terms-via-default-strategy |   2391.76        |   2453.71        |     ms |
|                                   90th percentile service time |   date-histo-string-significant-terms-via-default-strategy |   2438.59        |   2486.06        |     ms |
|                                  100th percentile service time |   date-histo-string-significant-terms-via-default-strategy |   2471.33        |   2507.84        |     ms |
|                                                     error rate |   date-histo-string-significant-terms-via-default-strategy |      0           |      0           |      % |
|                                                 Min Throughput |                                           date-histo-histo |      1.63        |      1.63        |  ops/s |
|                                                Mean Throughput |                                           date-histo-histo |      1.66        |      1.66        |  ops/s |
|                                              Median Throughput |                                           date-histo-histo |      1.66        |      1.66        |  ops/s |
|                                                 Max Throughput |                                           date-histo-histo |      1.67        |      1.66        |  ops/s |
|                                        50th percentile latency |                                           date-histo-histo |    590.813       |    594.902       |     ms |
|                                        90th percentile latency |                                           date-histo-histo |    606.66        |    602.927       |     ms |
|                                       100th percentile latency |                                           date-histo-histo |    617.348       |    636.5         |     ms |
|                                   50th percentile service time |                                           date-histo-histo |    590.813       |    594.902       |     ms |
|                                   90th percentile service time |                                           date-histo-histo |    606.66        |    602.927       |     ms |
|                                  100th percentile service time |                                           date-histo-histo |    617.348       |    636.5         |     ms |
|                                                     error rate |                                           date-histo-histo |      0           |      0           |      % |
|                                                 Min Throughput |                                    date-histo-geohash-grid |      1.69        |      1.68        |  ops/s |
|                                                Mean Throughput |                                    date-histo-geohash-grid |      1.74        |      1.74        |  ops/s |
|                                              Median Throughput |                                    date-histo-geohash-grid |      1.74        |      1.74        |  ops/s |
|                                                 Max Throughput |                                    date-histo-geohash-grid |      1.76        |      1.76        |  ops/s |
|                                        50th percentile latency |                                    date-histo-geohash-grid |    558.637       |    555.674       |     ms |
|                                        90th percentile latency |                                    date-histo-geohash-grid |    585.123       |    568.537       |     ms |
|                                       100th percentile latency |                                    date-histo-geohash-grid |    593.991       |    581.09        |     ms |
|                                   50th percentile service time |                                    date-histo-geohash-grid |    558.637       |    555.674       |     ms |
|                                   90th percentile service time |                                    date-histo-geohash-grid |    585.123       |    568.537       |     ms |
|                                  100th percentile service time |                                    date-histo-geohash-grid |    593.991       |    581.09        |     ms |
|                                                     error rate |                                    date-histo-geohash-grid |      0           |      0           |      % |
|                                                 Min Throughput |                                    date-histo-geotile-grid |      1.28        |      1.28        |  ops/s |
|                                                Mean Throughput |                                    date-histo-geotile-grid |      1.29        |      1.3         |  ops/s |
|                                              Median Throughput |                                    date-histo-geotile-grid |      1.3         |      1.3         |  ops/s |
|                                                 Max Throughput |                                    date-histo-geotile-grid |      1.3         |      1.3         |  ops/s |
|                                        50th percentile latency |                                    date-histo-geotile-grid |    767.426       |    759.19        |     ms |
|                                        90th percentile latency |                                    date-histo-geotile-grid |    780.994       |    778.721       |     ms |
|                                       100th percentile latency |                                    date-histo-geotile-grid |    810.413       |    787.062       |     ms |
|                                   50th percentile service time |                                    date-histo-geotile-grid |    767.426       |    759.19        |     ms |
|                                   90th percentile service time |                                    date-histo-geotile-grid |    780.994       |    778.721       |     ms |
|                                  100th percentile service time |                                    date-histo-geotile-grid |    810.413       |    787.062       |     ms |
|                                                     error rate |                                    date-histo-geotile-grid |      0           |      0           |      % |
|                                                 Min Throughput |                            range-numeric-significant-terms |      0.81        |      0.81        |  ops/s |
|                                                Mean Throughput |                            range-numeric-significant-terms |      0.82        |      0.82        |  ops/s |
|                                              Median Throughput |                            range-numeric-significant-terms |      0.82        |      0.82        |  ops/s |
|                                                 Max Throughput |                            range-numeric-significant-terms |      0.83        |      0.82        |  ops/s |
|                                        50th percentile latency |                            range-numeric-significant-terms |   1198.17        |   1214.67        |     ms |
|                                        90th percentile latency |                            range-numeric-significant-terms |   1220.44        |   1227.23        |     ms |
|                                       100th percentile latency |                            range-numeric-significant-terms |   1247.69        |   1243.08        |     ms |
|                                   50th percentile service time |                            range-numeric-significant-terms |   1198.17        |   1214.67        |     ms |
|                                   90th percentile service time |                            range-numeric-significant-terms |   1220.44        |   1227.23        |     ms |
|                                  100th percentile service time |                            range-numeric-significant-terms |   1247.69        |   1243.08        |     ms |
|                                                     error rate |                            range-numeric-significant-terms |      0           |      0           |      % |
|                                                 Min Throughput |                                           range-date-histo |      3.23        |      3.16        |  ops/s |
|                                                Mean Throughput |                                           range-date-histo |      3.24        |      3.18        |  ops/s |
|                                              Median Throughput |                                           range-date-histo |      3.24        |      3.18        |  ops/s |
|                                                 Max Throughput |                                           range-date-histo |      3.24        |      3.19        |  ops/s |
|                                        50th percentile latency |                                           range-date-histo |    306.115       |    311.221       |     ms |
|                                        90th percentile latency |                                           range-date-histo |    314.504       |    314.154       |     ms |
|                                       100th percentile latency |                                           range-date-histo |    325.233       |    329.215       |     ms |
|                                   50th percentile service time |                                           range-date-histo |    306.115       |    311.221       |     ms |
|                                   90th percentile service time |                                           range-date-histo |    314.504       |    314.154       |     ms |
|                                  100th percentile service time |                                           range-date-histo |    325.233       |    329.215       |     ms |
|                                                     error rate |                                           range-date-histo |      0           |      0           |      % |
|                                                 Min Throughput |                              range-date-histo-with-metrics |      1.38        |      1.37        |  ops/s |
|                                                Mean Throughput |                              range-date-histo-with-metrics |      1.4         |      1.39        |  ops/s |
|                                              Median Throughput |                              range-date-histo-with-metrics |      1.4         |      1.39        |  ops/s |
|                                                 Max Throughput |                              range-date-histo-with-metrics |      1.4         |      1.39        |  ops/s |
|                                        50th percentile latency |                              range-date-histo-with-metrics |    706.829       |    713.365       |     ms |
|                                        90th percentile latency |                              range-date-histo-with-metrics |    717.011       |    719.88        |     ms |
|                                       100th percentile latency |                              range-date-histo-with-metrics |    762.984       |    768.507       |     ms |
|                                   50th percentile service time |                              range-date-histo-with-metrics |    706.829       |    713.365       |     ms |
|                                   90th percentile service time |                              range-date-histo-with-metrics |    717.011       |    719.88        |     ms |
|                                  100th percentile service time |                              range-date-histo-with-metrics |    762.984       |    768.507       |     ms |
|                                                     error rate |                              range-date-histo-with-metrics |      0           |      0           |      % |
|                                                 Min Throughput |                                      range-auto-date-histo |      2.61        |      2.57        |  ops/s |
|                                                Mean Throughput |                                      range-auto-date-histo |      2.65        |      2.61        |  ops/s |
|                                              Median Throughput |                                      range-auto-date-histo |      2.66        |      2.61        |  ops/s |
|                                                 Max Throughput |                                      range-auto-date-histo |      2.67        |      2.62        |  ops/s |
|                                        50th percentile latency |                                      range-auto-date-histo |    370.844       |    378.843       |     ms |
|                                        90th percentile latency |                                      range-auto-date-histo |    376.472       |    384.158       |     ms |
|                                       100th percentile latency |                                      range-auto-date-histo |    389.025       |    409.873       |     ms |
|                                   50th percentile service time |                                      range-auto-date-histo |    370.844       |    378.843       |     ms |
|                                   90th percentile service time |                                      range-auto-date-histo |    376.472       |    384.158       |     ms |
|                                  100th percentile service time |                                      range-auto-date-histo |    389.025       |    409.873       |     ms |
|                                                     error rate |                                      range-auto-date-histo |      0           |      0           |      % |
|                                                 Min Throughput |                         range-auto-date-histo-with-metrics |      1.03        |      1.01        |  ops/s |
|                                                Mean Throughput |                         range-auto-date-histo-with-metrics |      1.03        |      1.02        |  ops/s |
|                                              Median Throughput |                         range-auto-date-histo-with-metrics |      1.03        |      1.02        |  ops/s |
|                                                 Max Throughput |                         range-auto-date-histo-with-metrics |      1.03        |      1.02        |  ops/s |
|                                        50th percentile latency |                         range-auto-date-histo-with-metrics |    971.34        |    983.204       |     ms |
|                                        90th percentile latency |                         range-auto-date-histo-with-metrics |    981.632       |    992.505       |     ms |
|                                       100th percentile latency |                         range-auto-date-histo-with-metrics |   1004.72        |   1013.25        |     ms |
|                                   50th percentile service time |                         range-auto-date-histo-with-metrics |    971.34        |    983.204       |     ms |
|                                   90th percentile service time |                         range-auto-date-histo-with-metrics |    981.632       |    992.505       |     ms |
|                                  100th percentile service time |                         range-auto-date-histo-with-metrics |   1004.72        |   1013.25        |     ms |
|                                                     error rate |                         range-auto-date-histo-with-metrics |      0           |      0           |      % |
|                                                 Min Throughput |                       range-auto-date-histo-with-time-zone |      2.63        |      2.57        |  ops/s |
|                                                Mean Throughput |                       range-auto-date-histo-with-time-zone |      2.66        |      2.6         |  ops/s |
|                                              Median Throughput |                       range-auto-date-histo-with-time-zone |      2.67        |      2.6         |  ops/s |
|                                                 Max Throughput |                       range-auto-date-histo-with-time-zone |      2.68        |      2.61        |  ops/s |
|                                        50th percentile latency |                       range-auto-date-histo-with-time-zone |    368.173       |    381.456       |     ms |
|                                        90th percentile latency |                       range-auto-date-histo-with-time-zone |    376.659       |    385.46        |     ms |
|                                       100th percentile latency |                       range-auto-date-histo-with-time-zone |    404.299       |    392.427       |     ms |
|                                   50th percentile service time |                       range-auto-date-histo-with-time-zone |    368.173       |    381.456       |     ms |
|                                   90th percentile service time |                       range-auto-date-histo-with-time-zone |    376.659       |    385.46        |     ms |
|                                  100th percentile service time |                       range-auto-date-histo-with-time-zone |    404.299       |    392.427       |     ms |
|                                                     error rate |                       range-auto-date-histo-with-time-zone |      0           |      0           |      % |
|                                                 Min Throughput |                                                   max_temp |     13.3         |     13.85        |  ops/s |
|                                                Mean Throughput |                                                   max_temp |     13.75        |     14.24        |  ops/s |
|                                              Median Throughput |                                                   max_temp |     13.82        |     14.33        |  ops/s |
|                                                 Max Throughput |                                                   max_temp |     13.98        |     14.37        |  ops/s |
|                                        50th percentile latency |                                                   max_temp |     69.9925      |     68.4423      |     ms |
|                                        90th percentile latency |                                                   max_temp |     70.8158      |     69.1078      |     ms |
|                                        99th percentile latency |                                                   max_temp |     83.8209      |     73.6859      |     ms |
|                                       100th percentile latency |                                                   max_temp |     91.3045      |     78.352       |     ms |
|                                   50th percentile service time |                                                   max_temp |     69.9925      |     68.4423      |     ms |
|                                   90th percentile service time |                                                   max_temp |     70.8158      |     69.1078      |     ms |
|                                   99th percentile service time |                                                   max_temp |     83.8209      |     73.6859      |     ms |
|                                  100th percentile service time |                                                   max_temp |     91.3045      |     78.352       |     ms |
|                                                     error rate |                                                   max_temp |      0           |      0           |      % |
|                                                 Min Throughput |                                     last_max_temp_top_hits |     12.19        |     12.45        |  ops/s |
|                                                Mean Throughput |                                     last_max_temp_top_hits |     12.85        |     13.4         |  ops/s |
|                                              Median Throughput |                                     last_max_temp_top_hits |     12.96        |     13.59        |  ops/s |
|                                                 Max Throughput |                                     last_max_temp_top_hits |     13.03        |     13.69        |  ops/s |
|                                        50th percentile latency |                                     last_max_temp_top_hits |     74.4416      |     70.9713      |     ms |
|                                        90th percentile latency |                                     last_max_temp_top_hits |     77.9079      |     73.4008      |     ms |
|                                        99th percentile latency |                                     last_max_temp_top_hits |     92.1454      |     74.7206      |     ms |
|                                       100th percentile latency |                                     last_max_temp_top_hits |     98.5888      |     95.5968      |     ms |
|                                   50th percentile service time |                                     last_max_temp_top_hits |     74.4416      |     70.9713      |     ms |
|                                   90th percentile service time |                                     last_max_temp_top_hits |     77.9079      |     73.4008      |     ms |
|                                   99th percentile service time |                                     last_max_temp_top_hits |     92.1454      |     74.7206      |     ms |
|                                  100th percentile service time |                                     last_max_temp_top_hits |     98.5888      |     95.5968      |     ms |
|                                                     error rate |                                     last_max_temp_top_hits |      0           |      0           |      % |
|                                                 Min Throughput |                                  last_max_temp_top_metrics |     15.3         |     15.94        |  ops/s |
|                                                Mean Throughput |                                  last_max_temp_top_metrics |     15.85        |     16.37        |  ops/s |
|                                              Median Throughput |                                  last_max_temp_top_metrics |     15.95        |     16.46        |  ops/s |
|                                                 Max Throughput |                                  last_max_temp_top_metrics |     16.13        |     16.57        |  ops/s |
|                                        50th percentile latency |                                  last_max_temp_top_metrics |     59.8385      |     59.0027      |     ms |
|                                        90th percentile latency |                                  last_max_temp_top_metrics |     63.7205      |     59.9189      |     ms |
|                                        99th percentile latency |                                  last_max_temp_top_metrics |     75.036       |     80.5999      |     ms |
|                                       100th percentile latency |                                  last_max_temp_top_metrics |     81.7042      |     83.2814      |     ms |
|                                   50th percentile service time |                                  last_max_temp_top_metrics |     59.8385      |     59.0027      |     ms |
|                                   90th percentile service time |                                  last_max_temp_top_metrics |     63.7205      |     59.9189      |     ms |
|                                   99th percentile service time |                                  last_max_temp_top_metrics |     75.036       |     80.5999      |     ms |
|                                  100th percentile service time |                                  last_max_temp_top_metrics |     81.7042      |     83.2814      |     ms |
|                                                     error rate |                                  last_max_temp_top_metrics |      0           |      0           |      % |
|                                                 Min Throughput |                                    max_temp_per_station_10 |      2.58        |      2.61        |  ops/s |
|                                                Mean Throughput |                                    max_temp_per_station_10 |      2.6         |      2.63        |  ops/s |
|                                              Median Throughput |                                    max_temp_per_station_10 |      2.6         |      2.63        |  ops/s |
|                                                 Max Throughput |                                    max_temp_per_station_10 |      2.61        |      2.63        |  ops/s |
|                                        50th percentile latency |                                    max_temp_per_station_10 |    381.312       |    379.082       |     ms |
|                                        90th percentile latency |                                    max_temp_per_station_10 |    386.035       |    382.848       |     ms |
|                                        99th percentile latency |                                    max_temp_per_station_10 |    397.841       |    390.337       |     ms |
|                                       100th percentile latency |                                    max_temp_per_station_10 |    452.483       |    392.509       |     ms |
|                                   50th percentile service time |                                    max_temp_per_station_10 |    381.312       |    379.082       |     ms |
|                                   90th percentile service time |                                    max_temp_per_station_10 |    386.035       |    382.848       |     ms |
|                                   99th percentile service time |                                    max_temp_per_station_10 |    397.841       |    390.337       |     ms |
|                                  100th percentile service time |                                    max_temp_per_station_10 |    452.483       |    392.509       |     ms |
|                                                     error rate |                                    max_temp_per_station_10 |      0           |      0           |      % |
|                                                 Min Throughput |                      last_max_temp_per_station_top_hits_10 |      2.6         |      2.59        |  ops/s |
|                                                Mean Throughput |                      last_max_temp_per_station_top_hits_10 |      2.6         |      2.61        |  ops/s |
|                                              Median Throughput |                      last_max_temp_per_station_top_hits_10 |      2.6         |      2.61        |  ops/s |
|                                                 Max Throughput |                      last_max_temp_per_station_top_hits_10 |      2.6         |      2.62        |  ops/s |
|                                        50th percentile latency |                      last_max_temp_per_station_top_hits_10 |    383.574       |    379.93        |     ms |
|                                        90th percentile latency |                      last_max_temp_per_station_top_hits_10 |    388.539       |    384.662       |     ms |
|                                        99th percentile latency |                      last_max_temp_per_station_top_hits_10 |    400.613       |    394.712       |     ms |
|                                       100th percentile latency |                      last_max_temp_per_station_top_hits_10 |    403.647       |    403.292       |     ms |
|                                   50th percentile service time |                      last_max_temp_per_station_top_hits_10 |    383.574       |    379.93        |     ms |
|                                   90th percentile service time |                      last_max_temp_per_station_top_hits_10 |    388.539       |    384.662       |     ms |
|                                   99th percentile service time |                      last_max_temp_per_station_top_hits_10 |    400.613       |    394.712       |     ms |
|                                  100th percentile service time |                      last_max_temp_per_station_top_hits_10 |    403.647       |    403.292       |     ms |
|                                                     error rate |                      last_max_temp_per_station_top_hits_10 |      0           |      0           |      % |
|                                                 Min Throughput |                   last_max_temp_per_station_top_metrics_10 |      2.6         |      2.62        |  ops/s |
|                                                Mean Throughput |                   last_max_temp_per_station_top_metrics_10 |      2.61        |      2.63        |  ops/s |
|                                              Median Throughput |                   last_max_temp_per_station_top_metrics_10 |      2.61        |      2.63        |  ops/s |
|                                                 Max Throughput |                   last_max_temp_per_station_top_metrics_10 |      2.62        |      2.64        |  ops/s |
|                                        50th percentile latency |                   last_max_temp_per_station_top_metrics_10 |    380.664       |    378.174       |     ms |
|                                        90th percentile latency |                   last_max_temp_per_station_top_metrics_10 |    384.153       |    380.938       |     ms |
|                                        99th percentile latency |                   last_max_temp_per_station_top_metrics_10 |    387.832       |    401.093       |     ms |
|                                       100th percentile latency |                   last_max_temp_per_station_top_metrics_10 |    390.875       |    402.619       |     ms |
|                                   50th percentile service time |                   last_max_temp_per_station_top_metrics_10 |    380.664       |    378.174       |     ms |
|                                   90th percentile service time |                   last_max_temp_per_station_top_metrics_10 |    384.153       |    380.938       |     ms |
|                                   99th percentile service time |                   last_max_temp_per_station_top_metrics_10 |    387.832       |    401.093       |     ms |
|                                  100th percentile service time |                   last_max_temp_per_station_top_metrics_10 |    390.875       |    402.619       |     ms |
|                                                     error rate |                   last_max_temp_per_station_top_metrics_10 |      0           |      0           |      % |
|                                                 Min Throughput |           last_min_and_max_temp_per_station_top_metrics_10 |      2.6         |      2.62        |  ops/s |
|                                                Mean Throughput |           last_min_and_max_temp_per_station_top_metrics_10 |      2.61        |      2.63        |  ops/s |
|                                              Median Throughput |           last_min_and_max_temp_per_station_top_metrics_10 |      2.61        |      2.63        |  ops/s |
|                                                 Max Throughput |           last_min_and_max_temp_per_station_top_metrics_10 |      2.61        |      2.63        |  ops/s |
|                                        50th percentile latency |           last_min_and_max_temp_per_station_top_metrics_10 |    381.383       |    378.301       |     ms |
|                                        90th percentile latency |           last_min_and_max_temp_per_station_top_metrics_10 |    386.091       |    382.094       |     ms |
|                                        99th percentile latency |           last_min_and_max_temp_per_station_top_metrics_10 |    388.756       |    384.747       |     ms |
|                                       100th percentile latency |           last_min_and_max_temp_per_station_top_metrics_10 |    393.161       |    387.03        |     ms |
|                                   50th percentile service time |           last_min_and_max_temp_per_station_top_metrics_10 |    381.383       |    378.301       |     ms |
|                                   90th percentile service time |           last_min_and_max_temp_per_station_top_metrics_10 |    386.091       |    382.094       |     ms |
|                                   99th percentile service time |           last_min_and_max_temp_per_station_top_metrics_10 |    388.756       |    384.747       |     ms |
|                                  100th percentile service time |           last_min_and_max_temp_per_station_top_metrics_10 |    393.161       |    387.03        |     ms |
|                                                     error rate |           last_min_and_max_temp_per_station_top_metrics_10 |      0           |      0           |      % |
|                                                 Min Throughput |              last_five_max_temp_per_station_top_metrics_10 |      2.61        |      2.61        |  ops/s |
|                                                Mean Throughput |              last_five_max_temp_per_station_top_metrics_10 |      2.61        |      2.62        |  ops/s |
|                                              Median Throughput |              last_five_max_temp_per_station_top_metrics_10 |      2.61        |      2.63        |  ops/s |
|                                                 Max Throughput |              last_five_max_temp_per_station_top_metrics_10 |      2.62        |      2.63        |  ops/s |
|                                        50th percentile latency |              last_five_max_temp_per_station_top_metrics_10 |    381.217       |    377.842       |     ms |
|                                        90th percentile latency |              last_five_max_temp_per_station_top_metrics_10 |    387.168       |    383.665       |     ms |
|                                        99th percentile latency |              last_five_max_temp_per_station_top_metrics_10 |    392.917       |    401.171       |     ms |
|                                       100th percentile latency |              last_five_max_temp_per_station_top_metrics_10 |    393.728       |    453.442       |     ms |
|                                   50th percentile service time |              last_five_max_temp_per_station_top_metrics_10 |    381.217       |    377.842       |     ms |
|                                   90th percentile service time |              last_five_max_temp_per_station_top_metrics_10 |    387.168       |    383.665       |     ms |
|                                   99th percentile service time |              last_five_max_temp_per_station_top_metrics_10 |    392.917       |    401.171       |     ms |
|                                  100th percentile service time |              last_five_max_temp_per_station_top_metrics_10 |    393.728       |    453.442       |     ms |
|                                                     error rate |              last_five_max_temp_per_station_top_metrics_10 |      0           |      0           |      % |
|                                                 Min Throughput |                        max_temp_per_station_10_depth_first |      2.23        |      2.24        |  ops/s |
|                                                Mean Throughput |                        max_temp_per_station_10_depth_first |      2.26        |      2.27        |  ops/s |
|                                              Median Throughput |                        max_temp_per_station_10_depth_first |      2.26        |      2.28        |  ops/s |
|                                                 Max Throughput |                        max_temp_per_station_10_depth_first |      2.27        |      2.28        |  ops/s |
|                                        50th percentile latency |                        max_temp_per_station_10_depth_first |    438.058       |    435.221       |     ms |
|                                        90th percentile latency |                        max_temp_per_station_10_depth_first |    443.561       |    439.569       |     ms |
|                                        99th percentile latency |                        max_temp_per_station_10_depth_first |    453.073       |    450.433       |     ms |
|                                       100th percentile latency |                        max_temp_per_station_10_depth_first |    472.741       |    451.01        |     ms |
|                                   50th percentile service time |                        max_temp_per_station_10_depth_first |    438.058       |    435.221       |     ms |
|                                   90th percentile service time |                        max_temp_per_station_10_depth_first |    443.561       |    439.569       |     ms |
|                                   99th percentile service time |                        max_temp_per_station_10_depth_first |    453.073       |    450.433       |     ms |
|                                  100th percentile service time |                        max_temp_per_station_10_depth_first |    472.741       |    451.01        |     ms |
|                                                     error rate |                        max_temp_per_station_10_depth_first |      0           |      0           |      % |
|                                                 Min Throughput |          last_max_temp_per_station_top_hits_10_depth_first |      0.67        |      0.72        |  ops/s |
|                                                Mean Throughput |          last_max_temp_per_station_top_hits_10_depth_first |      0.68        |      0.72        |  ops/s |
|                                              Median Throughput |          last_max_temp_per_station_top_hits_10_depth_first |      0.68        |      0.72        |  ops/s |
|                                                 Max Throughput |          last_max_temp_per_station_top_hits_10_depth_first |      0.68        |      0.72        |  ops/s |
|                                        50th percentile latency |          last_max_temp_per_station_top_hits_10_depth_first |   1478.36        |   1383.64        |     ms |
|                                        90th percentile latency |          last_max_temp_per_station_top_hits_10_depth_first |   1519.12        |   1400.76        |     ms |
|                                        99th percentile latency |          last_max_temp_per_station_top_hits_10_depth_first |   1554.85        |   1413.55        |     ms |
|                                       100th percentile latency |          last_max_temp_per_station_top_hits_10_depth_first |   1564.97        |   1436.87        |     ms |
|                                   50th percentile service time |          last_max_temp_per_station_top_hits_10_depth_first |   1478.36        |   1383.64        |     ms |
|                                   90th percentile service time |          last_max_temp_per_station_top_hits_10_depth_first |   1519.12        |   1400.76        |     ms |
|                                   99th percentile service time |          last_max_temp_per_station_top_hits_10_depth_first |   1554.85        |   1413.55        |     ms |
|                                  100th percentile service time |          last_max_temp_per_station_top_hits_10_depth_first |   1564.97        |   1436.87        |     ms |
|                                                     error rate |          last_max_temp_per_station_top_hits_10_depth_first |      0           |      0           |      % |
|                                                 Min Throughput |       last_max_temp_per_station_top_metrics_10_depth_first |      2.27        |      2.15        |  ops/s |
|                                                Mean Throughput |       last_max_temp_per_station_top_metrics_10_depth_first |      2.29        |      2.21        |  ops/s |
|                                              Median Throughput |       last_max_temp_per_station_top_metrics_10_depth_first |      2.29        |      2.22        |  ops/s |
|                                                 Max Throughput |       last_max_temp_per_station_top_metrics_10_depth_first |      2.29        |      2.23        |  ops/s |
|                                        50th percentile latency |       last_max_temp_per_station_top_metrics_10_depth_first |    435.281       |    446.175       |     ms |
|                                        90th percentile latency |       last_max_temp_per_station_top_metrics_10_depth_first |    443.543       |    450.683       |     ms |
|                                        99th percentile latency |       last_max_temp_per_station_top_metrics_10_depth_first |    460.103       |    456.222       |     ms |
|                                       100th percentile latency |       last_max_temp_per_station_top_metrics_10_depth_first |    462.968       |    460.773       |     ms |
|                                   50th percentile service time |       last_max_temp_per_station_top_metrics_10_depth_first |    435.281       |    446.175       |     ms |
|                                   90th percentile service time |       last_max_temp_per_station_top_metrics_10_depth_first |    443.543       |    450.683       |     ms |
|                                   99th percentile service time |       last_max_temp_per_station_top_metrics_10_depth_first |    460.103       |    456.222       |     ms |
|                                  100th percentile service time |       last_max_temp_per_station_top_metrics_10_depth_first |    462.968       |    460.773       |     ms |
|                                                     error rate |       last_max_temp_per_station_top_metrics_10_depth_first |      0           |      0           |      % |
|                                                 Min Throughput |           last_max_temp_per_station_top_metrics_10_sort_by |      2.26        |      2.22        |  ops/s |
|                                                Mean Throughput |           last_max_temp_per_station_top_metrics_10_sort_by |      2.27        |      2.23        |  ops/s |
|                                              Median Throughput |           last_max_temp_per_station_top_metrics_10_sort_by |      2.27        |      2.23        |  ops/s |
|                                                 Max Throughput |           last_max_temp_per_station_top_metrics_10_sort_by |      2.27        |      2.23        |  ops/s |
|                                        50th percentile latency |           last_max_temp_per_station_top_metrics_10_sort_by |    438.289       |    446.696       |     ms |
|                                        90th percentile latency |           last_max_temp_per_station_top_metrics_10_sort_by |    445.315       |    452.227       |     ms |
|                                        99th percentile latency |           last_max_temp_per_station_top_metrics_10_sort_by |    448.977       |    457.055       |     ms |
|                                       100th percentile latency |           last_max_temp_per_station_top_metrics_10_sort_by |    453.542       |    464.259       |     ms |
|                                   50th percentile service time |           last_max_temp_per_station_top_metrics_10_sort_by |    438.289       |    446.696       |     ms |
|                                   90th percentile service time |           last_max_temp_per_station_top_metrics_10_sort_by |    445.315       |    452.227       |     ms |
|                                   99th percentile service time |           last_max_temp_per_station_top_metrics_10_sort_by |    448.977       |    457.055       |     ms |
|                                  100th percentile service time |           last_max_temp_per_station_top_metrics_10_sort_by |    453.542       |    464.259       |     ms |
|                                                     error rate |           last_max_temp_per_station_top_metrics_10_sort_by |      0           |      0           |      % |
|                                                 Min Throughput |                                  max_temp_per_station_5000 |      1.9         |      1.9         |  ops/s |
|                                                Mean Throughput |                                  max_temp_per_station_5000 |      1.92        |      1.92        |  ops/s |
|                                              Median Throughput |                                  max_temp_per_station_5000 |      1.92        |      1.92        |  ops/s |
|                                                 Max Throughput |                                  max_temp_per_station_5000 |      1.93        |      1.93        |  ops/s |
|                                        50th percentile latency |                                  max_temp_per_station_5000 |    517.169       |    516.519       |     ms |
|                                        90th percentile latency |                                  max_temp_per_station_5000 |    521.104       |    522.303       |     ms |
|                                        99th percentile latency |                                  max_temp_per_station_5000 |    527.246       |    528.882       |     ms |
|                                       100th percentile latency |                                  max_temp_per_station_5000 |    557.389       |    544.664       |     ms |
|                                   50th percentile service time |                                  max_temp_per_station_5000 |    517.169       |    516.519       |     ms |
|                                   90th percentile service time |                                  max_temp_per_station_5000 |    521.104       |    522.303       |     ms |
|                                   99th percentile service time |                                  max_temp_per_station_5000 |    527.246       |    528.882       |     ms |
|                                  100th percentile service time |                                  max_temp_per_station_5000 |    557.389       |    544.664       |     ms |
|                                                     error rate |                                  max_temp_per_station_5000 |      0           |      0           |      % |
|                                                 Min Throughput |                    last_max_temp_per_station_top_hits_5000 |      0.62        |      0.75        |  ops/s |
|                                                Mean Throughput |                    last_max_temp_per_station_top_hits_5000 |      0.63        |      0.75        |  ops/s |
|                                              Median Throughput |                    last_max_temp_per_station_top_hits_5000 |      0.63        |      0.75        |  ops/s |
|                                                 Max Throughput |                    last_max_temp_per_station_top_hits_5000 |      0.64        |      0.75        |  ops/s |
|                                        50th percentile latency |                    last_max_temp_per_station_top_hits_5000 |   1536.66        |   1323.44        |     ms |
|                                        90th percentile latency |                    last_max_temp_per_station_top_hits_5000 |   1624.61        |   1342.6         |     ms |
|                                       100th percentile latency |                    last_max_temp_per_station_top_hits_5000 |   1957.79        |   1352.86        |     ms |
|                                   50th percentile service time |                    last_max_temp_per_station_top_hits_5000 |   1536.66        |   1323.44        |     ms |
|                                   90th percentile service time |                    last_max_temp_per_station_top_hits_5000 |   1624.61        |   1342.6         |     ms |
|                                  100th percentile service time |                    last_max_temp_per_station_top_hits_5000 |   1957.79        |   1352.86        |     ms |
|                                                     error rate |                    last_max_temp_per_station_top_hits_5000 |      0           |      0           |      % |
|                                                 Min Throughput |         last_max_temp_per_station_top_hits_5000_via_source |      0.53        |      0.6         |  ops/s |
|                                                Mean Throughput |         last_max_temp_per_station_top_hits_5000_via_source |      0.53        |      0.61        |  ops/s |
|                                              Median Throughput |         last_max_temp_per_station_top_hits_5000_via_source |      0.53        |      0.61        |  ops/s |
|                                                 Max Throughput |         last_max_temp_per_station_top_hits_5000_via_source |      0.53        |      0.61        |  ops/s |
|                                        50th percentile latency |         last_max_temp_per_station_top_hits_5000_via_source |   1884.64        |   1625.77        |     ms |
|                                        90th percentile latency |         last_max_temp_per_station_top_hits_5000_via_source |   1938.12        |   1643.1         |     ms |
|                                       100th percentile latency |         last_max_temp_per_station_top_hits_5000_via_source |   1957.8         |   1680.29        |     ms |
|                                   50th percentile service time |         last_max_temp_per_station_top_hits_5000_via_source |   1884.64        |   1625.77        |     ms |
|                                   90th percentile service time |         last_max_temp_per_station_top_hits_5000_via_source |   1938.12        |   1643.1         |     ms |
|                                  100th percentile service time |         last_max_temp_per_station_top_hits_5000_via_source |   1957.8         |   1680.29        |     ms |
|                                                     error rate |         last_max_temp_per_station_top_hits_5000_via_source |      0           |      0           |      % |
|                                                 Min Throughput |                 last_max_temp_per_station_top_metrics_5000 |      1.92        |      1.9         |  ops/s |
|                                                Mean Throughput |                 last_max_temp_per_station_top_metrics_5000 |      1.93        |      1.91        |  ops/s |
|                                              Median Throughput |                 last_max_temp_per_station_top_metrics_5000 |      1.93        |      1.91        |  ops/s |
|                                                 Max Throughput |                 last_max_temp_per_station_top_metrics_5000 |      1.93        |      1.91        |  ops/s |
|                                        50th percentile latency |                 last_max_temp_per_station_top_metrics_5000 |    516.679       |    522.269       |     ms |
|                                        90th percentile latency |                 last_max_temp_per_station_top_metrics_5000 |    521.612       |    527.44        |     ms |
|                                       100th percentile latency |                 last_max_temp_per_station_top_metrics_5000 |    526.151       |    544.599       |     ms |
|                                   50th percentile service time |                 last_max_temp_per_station_top_metrics_5000 |    516.679       |    522.269       |     ms |
|                                   90th percentile service time |                 last_max_temp_per_station_top_metrics_5000 |    521.612       |    527.44        |     ms |
|                                  100th percentile service time |                 last_max_temp_per_station_top_metrics_5000 |    526.151       |    544.599       |     ms |
|                                                     error rate |                 last_max_temp_per_station_top_metrics_5000 |      0           |      0           |      % |
|                                                 Min Throughput |         last_min_and_max_temp_per_station_top_metrics_5000 |      1.9         |      1.87        |  ops/s |
|                                                Mean Throughput |         last_min_and_max_temp_per_station_top_metrics_5000 |      1.91        |      1.88        |  ops/s |
|                                              Median Throughput |         last_min_and_max_temp_per_station_top_metrics_5000 |      1.91        |      1.88        |  ops/s |
|                                                 Max Throughput |         last_min_and_max_temp_per_station_top_metrics_5000 |      1.91        |      1.89        |  ops/s |
|                                        50th percentile latency |         last_min_and_max_temp_per_station_top_metrics_5000 |    522.088       |    528.952       |     ms |
|                                        90th percentile latency |         last_min_and_max_temp_per_station_top_metrics_5000 |    526.399       |    531.729       |     ms |
|                                       100th percentile latency |         last_min_and_max_temp_per_station_top_metrics_5000 |    530.277       |    534.657       |     ms |
|                                   50th percentile service time |         last_min_and_max_temp_per_station_top_metrics_5000 |    522.088       |    528.952       |     ms |
|                                   90th percentile service time |         last_min_and_max_temp_per_station_top_metrics_5000 |    526.399       |    531.729       |     ms |
|                                  100th percentile service time |         last_min_and_max_temp_per_station_top_metrics_5000 |    530.277       |    534.657       |     ms |
|                                                     error rate |         last_min_and_max_temp_per_station_top_metrics_5000 |      0           |      0           |      % |
|                                                 Min Throughput |            last_five_max_temp_per_station_top_metrics_5000 |      1.71        |      1.74        |  ops/s |
|                                                Mean Throughput |            last_five_max_temp_per_station_top_metrics_5000 |      1.72        |      1.75        |  ops/s |
|                                              Median Throughput |            last_five_max_temp_per_station_top_metrics_5000 |      1.72        |      1.75        |  ops/s |
|                                                 Max Throughput |            last_five_max_temp_per_station_top_metrics_5000 |      1.72        |      1.75        |  ops/s |
|                                        50th percentile latency |            last_five_max_temp_per_station_top_metrics_5000 |    578.531       |    567.935       |     ms |
|                                        90th percentile latency |            last_five_max_temp_per_station_top_metrics_5000 |    582.915       |    572.977       |     ms |
|                                       100th percentile latency |            last_five_max_temp_per_station_top_metrics_5000 |    617.325       |    580.622       |     ms |
|                                   50th percentile service time |            last_five_max_temp_per_station_top_metrics_5000 |    578.531       |    567.935       |     ms |
|                                   90th percentile service time |            last_five_max_temp_per_station_top_metrics_5000 |    582.915       |    572.977       |     ms |
|                                  100th percentile service time |            last_five_max_temp_per_station_top_metrics_5000 |    617.325       |    580.622       |     ms |
|                                                     error rate |            last_five_max_temp_per_station_top_metrics_5000 |      0           |      0           |      % |
|                                                 Min Throughput |             last_country_code_per_station_top_metrics_5000 |      1.86        |      1.92        |  ops/s |
|                                                Mean Throughput |             last_country_code_per_station_top_metrics_5000 |      1.87        |      1.93        |  ops/s |
|                                              Median Throughput |             last_country_code_per_station_top_metrics_5000 |      1.87        |      1.93        |  ops/s |
|                                                 Max Throughput |             last_country_code_per_station_top_metrics_5000 |      1.88        |      1.94        |  ops/s |
|                                        50th percentile latency |             last_country_code_per_station_top_metrics_5000 |    531.075       |    514.448       |     ms |
|                                        90th percentile latency |             last_country_code_per_station_top_metrics_5000 |    535.531       |    518.94        |     ms |
|                                       100th percentile latency |             last_country_code_per_station_top_metrics_5000 |    541.043       |    522.814       |     ms |
|                                   50th percentile service time |             last_country_code_per_station_top_metrics_5000 |    531.075       |    514.448       |     ms |
|                                   90th percentile service time |             last_country_code_per_station_top_metrics_5000 |    535.531       |    518.94        |     ms |
|                                  100th percentile service time |             last_country_code_per_station_top_metrics_5000 |    541.043       |    522.814       |     ms |
|                                                     error rate |             last_country_code_per_station_top_metrics_5000 |      0           |      0           |      % |
|                                                 Min Throughput |                                                 deep-terms |      2.12        |      2.25        |  ops/s |
|                                                Mean Throughput |                                                 deep-terms |      2.18        |      2.3         |  ops/s |
|                                              Median Throughput |                                                 deep-terms |      2.19        |      2.3         |  ops/s |
|                                                 Max Throughput |                                                 deep-terms |      2.19        |      2.31        |  ops/s |
|                                        50th percentile latency |                                                 deep-terms |    451.374       |    429.32        |     ms |
|                                        90th percentile latency |                                                 deep-terms |    463.267       |    435.233       |     ms |
|                                        99th percentile latency |                                                 deep-terms |    492.247       |    453.552       |     ms |
|                                       100th percentile latency |                                                 deep-terms |    497.726       |    465.607       |     ms |
|                                   50th percentile service time |                                                 deep-terms |    451.374       |    429.32        |     ms |
|                                   90th percentile service time |                                                 deep-terms |    463.267       |    435.233       |     ms |
|                                   99th percentile service time |                                                 deep-terms |    492.247       |    453.552       |     ms |
|                                  100th percentile service time |                                                 deep-terms |    497.726       |    465.607       |     ms |
|                                                     error rate |                                                 deep-terms |      0           |      0           |      % |

@nik9000
Copy link
Member

nik9000 commented Jan 29, 2025

In that last test indexing time got faster with our change the doesn't touch indexing:

|     19.4819      |     18.1652      |    min |

It's my guess that the first run had a more noisy neighbor. It's possible that something is different in main vs this branch, but that seems less likely.

That faster-ness seems to be reflected in some runs. Non aggs:

 range_field_small_range |     10.2604      |      8.55825     |     ms |

And aggs:

last_max_temp_per_station_top_hits_10_depth_first |   1519.12        |   1400.76        |     ms |

But some aggs aren't faster:

last_min_and_max_temp_per_station_top_metrics_5000 |    526.399       |    531.729       |     ms |

Our agg did get faster:

deep-terms |    492.247       |    453.552       |     ms |

I'm going to say "noise". This gives me the fuzzy feeling that we're ok merging this and watching for a regression in the nightlies. It'll probably take a bit to see.

int maxBucket,
boolean isInSortOrderExecutionRequired,
MappedFieldType... fieldTypes
);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's a ton of stuff to pass in. I feel like some of it, like CircuitBreakerService should be part of the implementation. Maybe?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it's fine actually - it lines up with how everything else is working now.

for (long owningBucketOrd = 0; owningBucketOrd <= oldOrds.maxOwningBucketOrd(); owningBucketOrd++) {
long maxOwning = oldOrds.maxOwningBucketOrd();
for (long owningBucketOrd = 0; owningBucketOrd <= maxOwning; owningBucketOrd++) {
if (context.isCancelled()) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: It is not clear to me why we are handling auto-date histogram in a special way. Could we add a comment explaining the why?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure! Its just that it spends a while spinning around doing extra stuff before it's ready for the normal build.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And I found it from an actual bug report of folks that were trying to terminate aggs and the thread was stuck here.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you have not one but three typos in that sentence :D

Copy link
Contributor

@iverase iverase left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. It is not clear to me why we have a special case for auto date histogram, but it should be fine any way.

@not-napoleon not-napoleon enabled auto-merge (squash) February 6, 2025 15:32
@not-napoleon not-napoleon merged commit 69b2078 into elastic:main Feb 6, 2025
17 checks passed
not-napoleon added a commit to not-napoleon/elasticsearch that referenced this pull request Feb 6, 2025
This PR addresses issues around aggregations cancellation, mentioned in elastic#108701 and other places. In brief, during aggregations collection time, we respect cancellation via the mechanisms in the searcher to poison cancelled queries. But once the aggregation finishes collection, there is no further need to interact with the searcher, so we cannot rely on that for cancellation checking. In particular, deeply nested aggregations can spend a long time constructing the results tree.

Checking for cancellation is a trade off, as the check itself is somewhat expensive (it involves a volatile read), so we want to balance checking often enough that cancelled queries aren't taking up resources for a long time, but not so frequently that it slows down most aggregation queries. Our first attempt to this is to check once when we go to build sub-aggregations, as the worst cases for this that we've seen involve needing to build deep sub-aggregation trees. Checking at sub-aggregation construction time also provides a conveniently centralized method call to add the check to.

---------

Co-authored-by: elasticsearchmachine <[email protected]>
Co-authored-by: Nik Everett <[email protected]>
@elasticsearchmachine
Copy link
Collaborator

💔 Backport failed

Status Branch Result
9.0
8.18 Commit could not be cherrypicked due to conflicts
8.x Commit could not be cherrypicked due to conflicts
8.16 Commit could not be cherrypicked due to conflicts
8.17 Commit could not be cherrypicked due to conflicts

You can use sqren/backport to manually backport by running backport --upstream elastic/elasticsearch --pr 120944

elasticsearchmachine pushed a commit that referenced this pull request Feb 6, 2025
This PR addresses issues around aggregations cancellation, mentioned in #108701 and other places. In brief, during aggregations collection time, we respect cancellation via the mechanisms in the searcher to poison cancelled queries. But once the aggregation finishes collection, there is no further need to interact with the searcher, so we cannot rely on that for cancellation checking. In particular, deeply nested aggregations can spend a long time constructing the results tree.

Checking for cancellation is a trade off, as the check itself is somewhat expensive (it involves a volatile read), so we want to balance checking often enough that cancelled queries aren't taking up resources for a long time, but not so frequently that it slows down most aggregation queries. Our first attempt to this is to check once when we go to build sub-aggregations, as the worst cases for this that we've seen involve needing to build deep sub-aggregation trees. Checking at sub-aggregation construction time also provides a conveniently centralized method call to add the check to.

---------

Co-authored-by: elasticsearchmachine <[email protected]>
Co-authored-by: Nik Everett <[email protected]>
not-napoleon added a commit to not-napoleon/elasticsearch that referenced this pull request Feb 6, 2025
This PR addresses issues around aggregations cancellation, mentioned in elastic#108701 and other places. In brief, during aggregations collection time, we respect cancellation via the mechanisms in the searcher to poison cancelled queries. But once the aggregation finishes collection, there is no further need to interact with the searcher, so we cannot rely on that for cancellation checking. In particular, deeply nested aggregations can spend a long time constructing the results tree.

Checking for cancellation is a trade off, as the check itself is somewhat expensive (it involves a volatile read), so we want to balance checking often enough that cancelled queries aren't taking up resources for a long time, but not so frequently that it slows down most aggregation queries. Our first attempt to this is to check once when we go to build sub-aggregations, as the worst cases for this that we've seen involve needing to build deep sub-aggregation trees. Checking at sub-aggregation construction time also provides a conveniently centralized method call to add the check to.

---------

Co-authored-by: elasticsearchmachine <[email protected]>
Co-authored-by: Nik Everett <[email protected]>
 Conflicts:
	server/src/main/java/org/elasticsearch/search/aggregations/bucket/BucketsAggregator.java
	test/framework/src/main/java/org/elasticsearch/search/aggregations/AggregatorTestCase.java
elasticsearchmachine pushed a commit that referenced this pull request Feb 6, 2025
This PR addresses issues around aggregations cancellation, mentioned in #108701 and other places. In brief, during aggregations collection time, we respect cancellation via the mechanisms in the searcher to poison cancelled queries. But once the aggregation finishes collection, there is no further need to interact with the searcher, so we cannot rely on that for cancellation checking. In particular, deeply nested aggregations can spend a long time constructing the results tree.

Checking for cancellation is a trade off, as the check itself is somewhat expensive (it involves a volatile read), so we want to balance checking often enough that cancelled queries aren't taking up resources for a long time, but not so frequently that it slows down most aggregation queries. Our first attempt to this is to check once when we go to build sub-aggregations, as the worst cases for this that we've seen involve needing to build deep sub-aggregation trees. Checking at sub-aggregation construction time also provides a conveniently centralized method call to add the check to.

---------



 Conflicts:
	server/src/main/java/org/elasticsearch/search/aggregations/bucket/BucketsAggregator.java
	test/framework/src/main/java/org/elasticsearch/search/aggregations/AggregatorTestCase.java

Co-authored-by: elasticsearchmachine <[email protected]>
not-napoleon added a commit to not-napoleon/elasticsearch that referenced this pull request Feb 6, 2025
This PR addresses issues around aggregations cancellation, mentioned in elastic#108701 and other places. In brief, during aggregations collection time, we respect cancellation via the mechanisms in the searcher to poison cancelled queries. But once the aggregation finishes collection, there is no further need to interact with the searcher, so we cannot rely on that for cancellation checking. In particular, deeply nested aggregations can spend a long time constructing the results tree.

Checking for cancellation is a trade off, as the check itself is somewhat expensive (it involves a volatile read), so we want to balance checking often enough that cancelled queries aren't taking up resources for a long time, but not so frequently that it slows down most aggregation queries. Our first attempt to this is to check once when we go to build sub-aggregations, as the worst cases for this that we've seen involve needing to build deep sub-aggregation trees. Checking at sub-aggregation construction time also provides a conveniently centralized method call to add the check to.

---------

Co-authored-by: elasticsearchmachine <[email protected]>
Co-authored-by: Nik Everett <[email protected]>
 Conflicts:
	test/framework/src/main/java/org/elasticsearch/search/aggregations/AggregatorTestCase.java
not-napoleon added a commit to not-napoleon/elasticsearch that referenced this pull request Feb 6, 2025
This PR addresses issues around aggregations cancellation, mentioned in elastic#108701 and other places. In brief, during aggregations collection time, we respect cancellation via the mechanisms in the searcher to poison cancelled queries. But once the aggregation finishes collection, there is no further need to interact with the searcher, so we cannot rely on that for cancellation checking. In particular, deeply nested aggregations can spend a long time constructing the results tree.

Checking for cancellation is a trade off, as the check itself is somewhat expensive (it involves a volatile read), so we want to balance checking often enough that cancelled queries aren't taking up resources for a long time, but not so frequently that it slows down most aggregation queries. Our first attempt to this is to check once when we go to build sub-aggregations, as the worst cases for this that we've seen involve needing to build deep sub-aggregation trees. Checking at sub-aggregation construction time also provides a conveniently centralized method call to add the check to.

---------

Co-authored-by: elasticsearchmachine <[email protected]>
Co-authored-by: Nik Everett <[email protected]>
 Conflicts:
	test/framework/src/main/java/org/elasticsearch/search/aggregations/AggregatorTestCase.java
elasticsearchmachine pushed a commit that referenced this pull request Feb 6, 2025
This PR addresses issues around aggregations cancellation, mentioned in #108701 and other places. In brief, during aggregations collection time, we respect cancellation via the mechanisms in the searcher to poison cancelled queries. But once the aggregation finishes collection, there is no further need to interact with the searcher, so we cannot rely on that for cancellation checking. In particular, deeply nested aggregations can spend a long time constructing the results tree.

Checking for cancellation is a trade off, as the check itself is somewhat expensive (it involves a volatile read), so we want to balance checking often enough that cancelled queries aren't taking up resources for a long time, but not so frequently that it slows down most aggregation queries. Our first attempt to this is to check once when we go to build sub-aggregations, as the worst cases for this that we've seen involve needing to build deep sub-aggregation trees. Checking at sub-aggregation construction time also provides a conveniently centralized method call to add the check to.

---------



 Conflicts:
	test/framework/src/main/java/org/elasticsearch/search/aggregations/AggregatorTestCase.java

Co-authored-by: elasticsearchmachine <[email protected]>
not-napoleon added a commit to not-napoleon/elasticsearch that referenced this pull request Feb 6, 2025
This PR addresses issues around aggregations cancellation, mentioned in elastic#108701 and other places. In brief, during aggregations collection time, we respect cancellation via the mechanisms in the searcher to poison cancelled queries. But once the aggregation finishes collection, there is no further need to interact with the searcher, so we cannot rely on that for cancellation checking. In particular, deeply nested aggregations can spend a long time constructing the results tree.

Checking for cancellation is a trade off, as the check itself is somewhat expensive (it involves a volatile read), so we want to balance checking often enough that cancelled queries aren't taking up resources for a long time, but not so frequently that it slows down most aggregation queries. Our first attempt to this is to check once when we go to build sub-aggregations, as the worst cases for this that we've seen involve needing to build deep sub-aggregation trees. Checking at sub-aggregation construction time also provides a conveniently centralized method call to add the check to.

---------

Co-authored-by: elasticsearchmachine <[email protected]>
Co-authored-by: Nik Everett <[email protected]>
 Conflicts:
	test/framework/src/main/java/org/elasticsearch/search/aggregations/AggregatorTestCase.java
elasticsearchmachine pushed a commit that referenced this pull request Feb 6, 2025
This PR addresses issues around aggregations cancellation, mentioned in #108701 and other places. In brief, during aggregations collection time, we respect cancellation via the mechanisms in the searcher to poison cancelled queries. But once the aggregation finishes collection, there is no further need to interact with the searcher, so we cannot rely on that for cancellation checking. In particular, deeply nested aggregations can spend a long time constructing the results tree.

Checking for cancellation is a trade off, as the check itself is somewhat expensive (it involves a volatile read), so we want to balance checking often enough that cancelled queries aren't taking up resources for a long time, but not so frequently that it slows down most aggregation queries. Our first attempt to this is to check once when we go to build sub-aggregations, as the worst cases for this that we've seen involve needing to build deep sub-aggregation trees. Checking at sub-aggregation construction time also provides a conveniently centralized method call to add the check to.

---------



 Conflicts:
	test/framework/src/main/java/org/elasticsearch/search/aggregations/AggregatorTestCase.java

Co-authored-by: elasticsearchmachine <[email protected]>
not-napoleon added a commit that referenced this pull request Feb 7, 2025
This PR addresses issues around aggregations cancellation, mentioned in #108701 and other places. In brief, during aggregations collection time, we respect cancellation via the mechanisms in the searcher to poison cancelled queries. But once the aggregation finishes collection, there is no further need to interact with the searcher, so we cannot rely on that for cancellation checking. In particular, deeply nested aggregations can spend a long time constructing the results tree.

Checking for cancellation is a trade off, as the check itself is somewhat expensive (it involves a volatile read), so we want to balance checking often enough that cancelled queries aren't taking up resources for a long time, but not so frequently that it slows down most aggregation queries. Our first attempt to this is to check once when we go to build sub-aggregations, as the worst cases for this that we've seen involve needing to build deep sub-aggregation trees. Checking at sub-aggregation construction time also provides a conveniently centralized method call to add the check to.

---------



 Conflicts:
	test/framework/src/main/java/org/elasticsearch/search/aggregations/AggregatorTestCase.java

Co-authored-by: elasticsearchmachine <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

:Analytics/Aggregations Aggregations auto-backport Automatically create backport pull requests when merged backport pending >bug Team:Analytics Meta label for analytical engine team (ESQL/Aggs/Geo) v8.16.5 v8.17.3 v8.18.0 v8.19.0 v9.0.0 v9.1.0

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Aggregation keeps running long after task cancellation

7 participants